package com.vizhuo.client.business.match.goods.vo;

import java.io.Serializable;

import com.vizhuo.client.base.AbstractVo;
import com.vizhuo.client.util.ClientUtil;

/**
 * 
 * @ClassName: FindGoodsVo
 * @Description: (我要找货)查询
 * @author TANDP
 * @date 2015-7-9 下午1:56:12
 * 
 */
public class FindGoodsVo extends AbstractVo implements Serializable {

    /**
     * 货源id
     */
    private Long id;

    /**
     * 发货人账号id
     */
    private Integer accountId;

    /**
     * 发货人账号类型,2:商户,3:信息部
     */
    private String accountType;

    /**
     * 货源编号
     */
    private String goodsNo;//

    /**
     * 运输起点经度
     */
    private String startLng;//

    /**
     * 运输起点纬度
     */
    private String startLat;//

    private String startCity;// 运输起点市编码

    private String startCounty;// 运输起点区编码

    private String endCity;// 运输终点市编码

    private String endCounty;// 运输终点区编码

    /**
     * 运输起点地址(省名称-市名称-区名称)
     */
    private String startAreaAddress;//

    /**
     * 运输终点地址(省名称-市名称-区名称)
     */
    private String endAreaAddress;//

    /**
     * 货物类型,重货,泡货
     */
    private String goodsType;//

    /**
     * 货物类型编码
     */
    private String goodsTypeCode;

    /**
     * 货物重量(吨)
     */
    private double goodsLoad;//

    /**
     * 货物体积(方)
     */
    private double goodsSize;//

    /**
     * 件数
     */
    private Integer goodsPiece;

    /**
     * 货物种类
     */
    private String goodsSpecies;

    /**
     * 货物种类
     */
    private String goodsSpeciesName;

    /**
     * 经验值-后台使用
     */
    private int accountExp;

    /**
     * 需求车型
     */
    private String needCarType;//

    /**
     * 需求车长
     */
    private String needCarLength;//

    /**
     * 用车时间
     */
    private String needCarTime;//

    /**
     * 用车需求文字描述
     */
    private String needDesc;//

    /**
     * 是否整车,1:是,0否,默认:否
     */
    private String isCarload;//

    /**
     * 是否仅通知车库中的司机,1:是,0否,默认否
     */
    private String isMycar;//

    /**
     * 用车需求语音描述url
     */
    private String needSoundUrl;//

    /**
     * 全程距离(米)
     */
    private int distance;

    /**
     * 距你距离(米)
     */
    private int distanceYou;

    /**
     * 是否已抢,1:是,0:否
     */
    private String isRob = "0";

    /**
     * 等级-共用
     */
    private String level;

    /**
     * 成功次数-共用
     */
    private int successCount;

    /**
     * 被投诉次数-共用
     */
    private int blackCount;

    /**
     * 是否收藏,1:已收藏,0:未收藏-共用
     */
    private String isCollect;

    /**
     * 发货人电话-共用
     */
    private String phone;

    /**
     * 货源摘要
     */
    private String goodsRemark;

    /**
     * 好评率-通用
     */
    private String highPraiseRate;

    // /////////////////////////////////以下是商户对象属性bigen//////////////////////////////

    /**
     * 发货人姓名(发布货源时客户端不用传)
     */
    private String conName;

    /**
     * 认证状态
     */
    private String conCheckFlag;

    /**
     * 被投诉次数
     */
    private int conComplaintsCount;//

    /**
     * 头像照片路径
     */
    private String conHeadPicPath;

    /**
     * 头像照片名称
     */
    private String conHeadPicName;

    /**
     * 营业执照照片路径
     */
    private String conLicensePicPath;

    /**
     * 营业执照照片文件名
     */
    private String conLicensePicName;

    /**
     * 门头照片路径
     */
    private String conShopPicPath;

    /**
     * 门头照片文件名
     */
    private String conSshopPicName;

    // /////////////////////////////////以下是商户对象属性end//////////////////////////////

    // /////////////////////////////////以下是信息部对象属性bigen//////////////////////////////
    /**
     * 身份类型(0：线路经理，1：其他)
     */
    private String identityType;

    /**
     * 信息部-联系人姓名
     */
    private String infoNameReal;

    /**
     * 信息部公司姓名
     */
    private String infoName;

    /**
     * 信息部-身份证认证状态
     */
    private String infoIdCheckFlag;

    /**
     * 信息部-头像照片路径
     */
    private String infoHeadPicPath;

    /**
     * 信息部-头像照片名称
     */
    private String infoHeadPicName;

    /**
     * 信息部-营业执照路径
     */
    private String infoLicensePicPath;

    /**
     * 信息部-营业执照名称
     */
    private String infoLicensePicName;

    /**
     * 信息部-门头照片路径
     */
    private String shopPicPath;

    /**
     * 信息部-门头照片名称
     */
    private String shopPicName;

    /**
     * 信息部/物流公司详细地址
     */
    private String addr;

    /**
     * 特殊需求
     */
    private String needOther;

    // /////////////////////////////////以下是信息部对象属性end//////////////////////////////

    /**
     * 距你距离(米)
     * 
     * @return
     */
    public int getDistanceYou() {
        return distanceYou;
    }

    /**
     * 距你距离(米)
     * 
     * @param distanceYou
     */
    public void setDistanceYou(int distanceYou) {
        this.distanceYou = distanceYou;
    }

    /**
     * 运输起点经度(客户端不用传)
     * 
     * @return
     */
    public String getStartLng() {
        return startLng;
    }

    /**
     * 运输起点经度(客户端不用传)
     * 
     * @param startLng
     */
    public void setStartLng(String startLng) {
        this.startLng = startLng;
    }

    /**
     * 运输起点经纬度(客户端不用传)
     * 
     * @return
     */
    public String getStartLat() {
        return startLat;
    }

    /**
     * 运输起点纬度(客户端不用传)
     * 
     * @param startLat
     */
    public void setStartLat(String startLat) {
        this.startLat = startLat;
    }

    /**
     * 货物类型-code 9003
     * 
     * @return
     */
    public String getGoodsType() {
        return goodsType;
    }

    /**
     * 货物种类
     * 
     * @param goodsType
     */
    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    /**
     * 货物重量
     * 
     * @return
     */
    public double getGoodsLoad() {
        return goodsLoad;
    }

    /**
     * 货物重量
     * 
     * @param goodsLoad
     */
    public void setGoodsLoad(double goodsLoad) {
        this.goodsLoad = goodsLoad;
    }

    /**
     * 货物体积
     * 
     * @return
     */
    public double getGoodsSize() {
        return goodsSize;
    }

    /**
     * 货物体积
     * 
     * @param goodsSize
     */
    public void setGoodsSize(double goodsSize) {
        this.goodsSize = goodsSize;
    }

    /**
     * 需要车型
     * 
     * @return
     */
    public String getNeedCarType() {
        return needCarType;
    }

    /**
     * 需要车型
     * 
     * @param needCarType
     */
    public void setNeedCarType(String needCarType) {
        this.needCarType = needCarType;
    }

    /**
     * 需要车长
     * 
     * @return
     */
    public String getNeedCarLength() {
        return needCarLength == null ? "0" : needCarLength;
    }

    /**
     * 需要车长
     * 
     * @param needCarLength
     */
    public void setNeedCarLength(String needCarLength) {
        this.needCarLength = needCarLength;
    }

    /**
     * 用车时间
     * 
     * @return
     */
    public String getNeedCarTime() {
        return needCarTime;
    }

    /**
     * 用车时间
     * 
     * @param needCarTime
     */
    public void setNeedCarTime(String needCarTime) {
        this.needCarTime = needCarTime;
    }

    /**
     * 用车描述
     * 
     * @return
     */
    public String getNeedDesc() {
        return ClientUtil.str(needDesc);
    }

    /**
     * 用车描述
     * 
     * @param needDesc
     */
    public void setNeedDesc(String needDesc) {
        this.needDesc = needDesc;
    }

    /**
     * 是否整车,1:是,0否,默认:否
     * 
     * @return
     */
    public String getIsCarload() {
        return isCarload;
    }

    /**
     * 是否整车,1:是,0否,默认:否
     * 
     * @param isCarload
     */
    public void setIsCarload(String isCarload) {
        this.isCarload = isCarload;
    }

    /**
     * 是否仅通知车库中的司机,1:是,0否,默认否
     * 
     * @return
     */
    public String getIsMycar() {
        return isMycar;
    }

    /**
     * 是否仅通知车库中的司机,1:是,0否,默认否
     * 
     * @param isMycar
     */
    public void setIsMycar(String isMycar) {
        this.isMycar = isMycar;
    }

    /**
     * 发货人账号id
     * 
     * @return
     */
    public Integer getAccountId() {
        return accountId;
    }

    /**
     * 发货人账号id
     * 
     * @param accountId
     */
    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    /**
     * 货源编号,yyyyMMddxId (客户端不用传)
     * 
     * @return
     */
    public String getGoodsNo() {
        return goodsNo;
    }

    /**
     * 货源编号,yyyyMMddxId (客户端不用传)
     * 
     * @param goodsNo
     */
    public void setGoodsNo(String goodsNo) {
        this.goodsNo = goodsNo;
    }

    /**
     * 主键(客户端不用传)
     * 
     * @return
     */
    public Long getId() {
        return id;
    }

    /**
     * 主键(客户端不用传)
     * 
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    public String getStartCity() {
        return startCity;
    }

    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    public String getStartCounty() {
        return startCounty;
    }

    public void setStartCounty(String startCounty) {
        this.startCounty = startCounty;
    }

    public String getEndCity() {
        return endCity;
    }

    public void setEndCity(String endCity) {
        this.endCity = endCity;
    }

    public String getEndCounty() {
        return endCounty;
    }

    public void setEndCounty(String endCounty) {
        this.endCounty = endCounty;
    }

    /**
     * 录音url(客户端不用传)
     * 
     * @return
     */
    public String getNeedSoundUrl() {
        return needSoundUrl;
    }

    /**
     * 录音url(客户端不用传)
     * 
     * @param needSoundUrl
     */
    public void setNeedSoundUrl(String needSoundUrl) {
        this.needSoundUrl = needSoundUrl;
    }

    /**
     * 全程距离(米) 客户端不用传
     * 
     * @return
     */
    public int getDistance() {
        return distance;
    }

    /**
     * 全程距离(米) 客户端不用传
     * 
     * @param distance
     */
    public void setDistance(int distance) {
        this.distance = distance;
    }

    public String getStartAreaAddress() {
        return startAreaAddress;
    }

    public void setStartAreaAddress(String startAreaAddress) {
        this.startAreaAddress = startAreaAddress;
    }

    public String getEndAreaAddress() {
        return endAreaAddress;
    }

    public void setEndAreaAddress(String endAreaAddress) {
        this.endAreaAddress = endAreaAddress;
    }

    /**
     * 全程距离 客户端可以取这个,超过1000米,返回公里,小于1000米返回米
     * 
     * @return
     */
    public String getDistanceLabel() {
        if (distance > 1000) {
            return (distance / 1000) + "公里";
        } else {
            return distance + "米";
        }
    }

    /**
     * 距离你距离 客户端可以取这个,超过1000米,返回公里,小于1000米返回米
     * 
     * @return
     */
    public String getDistanceYouLabel() {
        if (distanceYou > 1000) {
            return (distanceYou / 1000) + "公里";
        } else {
            return distanceYou + "米";
        }
    }

    public String getConName() {
        return conName;
    }

    public void setConName(String conName) {
        this.conName = conName;
    }

    public String getConCheckFlag() {
        return conCheckFlag;
    }

    public void setConCheckFlag(String conCheckFlag) {
        this.conCheckFlag = conCheckFlag;
    }

    public int getConComplaintsCount() {
        return conComplaintsCount;
    }

    public void setConComplaintsCount(int conComplaintsCount) {
        this.conComplaintsCount = conComplaintsCount;
    }

    public String getConLicensePicPath() {
        return conLicensePicPath;
    }

    public void setConLicensePicPath(String conLicensePicPath) {
        this.conLicensePicPath = conLicensePicPath;
    }

    public String getConLicensePicName() {
        return conLicensePicName;
    }

    public void setConLicensePicName(String conLicensePicName) {
        this.conLicensePicName = conLicensePicName;
    }

    public String getConShopPicPath() {
        return conShopPicPath;
    }

    public void setConShopPicPath(String conShopPicPath) {
        this.conShopPicPath = conShopPicPath;
    }

    public String getConSshopPicName() {
        return conSshopPicName;
    }

    public void setConSshopPicName(String conSshopPicName) {
        this.conSshopPicName = conSshopPicName;
    }

    public String getIdentityType() {
        return identityType;
    }

    public void setIdentityType(String identityType) {
        this.identityType = identityType;
    }

    public String getInfoNameReal() {
        return infoNameReal;
    }

    public void setInfoNameReal(String infoNameReal) {
        this.infoNameReal = infoNameReal;
    }

    public String getInfoName() {
        return infoName;
    }

    public void setInfoName(String infoName) {
        this.infoName = infoName;
    }

    public String getInfoIdCheckFlag() {
        return infoIdCheckFlag;
    }

    public void setInfoIdCheckFlag(String infoIdCheckFlag) {
        this.infoIdCheckFlag = infoIdCheckFlag;
    }

    public String getInfoHeadPicPath() {
        return infoHeadPicPath;
    }

    public void setInfoHeadPicPath(String infoHeadPicPath) {
        this.infoHeadPicPath = infoHeadPicPath;
    }

    public String getInfoHeadPicName() {
        return infoHeadPicName;
    }

    public void setInfoHeadPicName(String infoHeadPicName) {
        this.infoHeadPicName = infoHeadPicName;
    }

    public String getInfoLicensePicPath() {
        return infoLicensePicPath;
    }

    public void setInfoLicensePicPath(String infoLicensePicPath) {
        this.infoLicensePicPath = infoLicensePicPath;
    }

    public String getInfoLicensePicName() {
        return infoLicensePicName;
    }

    public void setInfoLicensePicName(String infoLicensePicName) {
        this.infoLicensePicName = infoLicensePicName;
    }

    public String getShopPicPath() {
        return shopPicPath;
    }

    public void setShopPicPath(String shopPicPath) {
        this.shopPicPath = shopPicPath;
    }

    public String getShopPicName() {
        return shopPicName;
    }

    public void setShopPicName(String shopPicName) {
        this.shopPicName = shopPicName;
    }

    public String getIsRob() {
        return isRob;
    }

    public void setIsRob(String isRob) {
        this.isRob = isRob;
    }

    public int getAccountExp() {
        return accountExp;
    }

    public void setAccountExp(int accountExp) {
        this.accountExp = accountExp;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public int getSuccessCount() {
        return successCount;
    }

    public void setSuccessCount(int successCount) {
        this.successCount = successCount;
    }

    public int getBlackCount() {
        return blackCount;
    }

    public void setBlackCount(int blackCount) {
        this.blackCount = blackCount;
    }

    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    public String getConHeadPicPath() {
        return conHeadPicPath;
    }

    public void setConHeadPicPath(String conHeadPicPath) {
        this.conHeadPicPath = conHeadPicPath;
    }

    public String getConHeadPicName() {
        return conHeadPicName;
    }

    public void setConHeadPicName(String conHeadPicName) {
        this.conHeadPicName = conHeadPicName;
    }

    public String getIsCollect() {
        return isCollect;
    }

    public void setIsCollect(String isCollect) {
        this.isCollect = isCollect;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getGoodsTypeCode() {
        return goodsTypeCode;
    }

    public void setGoodsTypeCode(String goodsTypeCode) {
        this.goodsTypeCode = goodsTypeCode;
    }

    /**
     * 货源摘要
     * 
     * @return
     */
    public String getGoodsRemark() {
        return goodsRemark;
    }

    public void setGoodsRemark(String goodsRemark) {
        this.goodsRemark = goodsRemark;
    }

    /**
     * 信息部/物流公司详细地址
     * 
     * @return
     */
    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    public String getGoodsSpeciesName() {
        return goodsSpeciesName;
    }

    public void setGoodsSpeciesName(String goodsSpeciesName) {
        this.goodsSpeciesName = goodsSpeciesName;
    }

    public String getHighPraiseRate() {
        return highPraiseRate;
    }

    public void setHighPraiseRate(String highPraiseRate) {
        this.highPraiseRate = highPraiseRate;
    }

    /**
     * 客户端货物类型调用该方法:处理 重量和体积的问题
     * 
     * @return
     */
    public String getGoodsTypeLabel() {

        // String goodsTypeLabel = this.goodsSpeciesName == null ? "" :
        // this.goodsSpeciesName;
        // String goodsLoadStr = "";
        // String goodsSizeStr = "";
        // if (this.getGoodsLoad() == (int) this.getGoodsLoad()) {
        // goodsLoadStr = String.valueOf((int) this.getGoodsLoad());
        // } else {
        // goodsLoadStr = String.valueOf(this.getGoodsLoad());
        // }
        // if (this.getGoodsSize() == (int) this.getGoodsSize()) {
        // goodsSizeStr = String.valueOf((int) this.getGoodsSize());
        // } else {
        // goodsSizeStr = String.valueOf(this.getGoodsSize());
        // }
        //
        // if ("1".equals(this.getGoodsTypeCode())) {
        // goodsTypeLabel += " " + goodsLoadStr + "吨";
        // } else {
        // goodsTypeLabel += " " + goodsSizeStr + "立方";
        // }
        // return goodsTypeLabel;

        String goodsSpeciesLabelStr = this.goodsSpeciesName == null ? "" : this.goodsSpeciesName;

        String goodsLoadStr = "";
        String goodsSizeStr = "";

        if (this.getGoodsLoad() == (int) this.getGoodsLoad()) {
            goodsLoadStr = String.valueOf((int) this.getGoodsLoad());
        } else {
            goodsLoadStr = String.valueOf(this.getGoodsLoad());
        }
        if (this.getGoodsSize() == (int) this.getGoodsSize()) {
            goodsSizeStr = String.valueOf((int) this.getGoodsSize());
        } else {
            goodsSizeStr = String.valueOf(this.getGoodsSize());
        }
        if (this.goodsLoad != 0.0) {
            goodsSpeciesLabelStr = goodsSpeciesLabelStr + " " + goodsLoadStr + "吨";
        }
        if (this.goodsSize != 0.0) {
            goodsSpeciesLabelStr = goodsSpeciesLabelStr + " " + goodsSizeStr + "立方";
        }
        if (goodsPiece != null && this.goodsPiece != 0) {
            goodsSpeciesLabelStr = goodsSpeciesLabelStr + " " + goodsPiece + "件";
        }
        return goodsSpeciesLabelStr;
    }

    public String getGoodsSpecies() {
        return goodsSpecies;
    }

    public void setGoodsSpecies(String goodsSpecies) {
        this.goodsSpecies = goodsSpecies;
    }

    public Integer getGoodsPiece() {
        return goodsPiece;
    }

    public void setGoodsPiece(Integer goodsPiece) {
        this.goodsPiece = goodsPiece;
    }

    public String getNeedOther() {
        return needOther == null ? "" : needOther;
    }

    public void setNeedOther(String needOther) {
        this.needOther = needOther;
    }

}
